﻿//using NPOI.HSSF.UserModel;
//using NPOI.SS.UserModel;
//using NPOI.SS.Util;
//using NPOI.XSSF.UserModel;
//using System;
//using System.Collections;
//using System.Collections.Generic;
//using System.Data;
//using System.Drawing;
//using System.IO;
//using System.Linq;
//using System.Reflection;
//using System.Threading.Tasks;
//using TomNet.App.Model.DTO;

//namespace TomNet.App.Web.Common
//{
//    public class ExcelHelper
//    {
//        public static HSSFWorkbook DailyToExcel(List<DailyDto> data)
//        {


//            var sheetName = "日报与计划";
//            HSSFWorkbook wk = new HSSFWorkbook();
//            ISheet sheet = wk.CreateSheet(sheetName);

//            #region 样式
//            //设置基本样式
//            ICellStyle style = wk.CreateCellStyle();
//            style.WrapText = true;
//            IFont font = wk.CreateFont();
//            font.FontHeightInPoints = 12;
//            font.FontName = "宋体";
//            style.SetFont(font);


//            //设置大类样式
//            ICellStyle style2 = wk.CreateCellStyle();
//            style2.WrapText = true;
//            IFont font2 = wk.CreateFont();
//            font2.FontHeightInPoints = 12;
//            font2.Boldweight = (short)FontBoldWeight.Bold;
//            font2.FontName = "宋体";
//            style2.SetFont(font2);


//            //表头样式
//            ICellStyle headStyle = wk.CreateCellStyle();
//            headStyle.Alignment = HorizontalAlignment.Center;       // 左右居中    
//            headStyle.VerticalAlignment = VerticalAlignment.Center; // 上下居中 
//            headStyle.FillForegroundColor = (short)11;
//            IFont headFont = wk.CreateFont();
//            headFont.FontHeightInPoints = 26;
//            headFont.Boldweight = (short)FontBoldWeight.Bold;
//            headFont.FontName = "宋体";
//            headStyle.SetFont(headFont);

//            #endregion

//            #region 基本数据

//            var dateStr = "";
//            var area = "";
//            if (data.Count() > 0)
//            {
//                area = data[0].AName;
//                dateStr = data[0].DTime.ToString("yyyy-MM-dd");
//            }
//            var dailyHead = area + " 日报内容 " + dateStr;
//            var planHead = area + " 计划内容 " + dateStr;

//            int rowIndex = 0;
//            int colCount = 8;
//            string[] dailyColHead = new string[] {
//                "人员姓名" ,
//                "所属部门" ,
//                "今日工作总结",
//                "工作量及完成率",
//                "工作时间量(分钟)",
//                "待维修数量",
//                "未完成原因",
//                "填写时间" };

//            string[] planColHead = new string[] {
//                "人员姓名" ,
//                "所属部门" ,
//                "明日工作计划",
//                "预计工作量",
//                "预计时间(分钟)",
//                "待维修数量",
//                "需求或技能提升",
//                "填写时间" };


//            var dailyData = data.Where(m => m.Type == 0).ToList();
//            var planData = data.Where(m => m.Type == 1).ToList();
//            #endregion

//            //设置日报表头
//            IRow dailyHeadRow = sheet.CreateRow(0);
//            dailyHeadRow.HeightInPoints = 50;

//            ICell dailyHeadCell = dailyHeadRow.CreateCell(0);
//            dailyHeadCell.SetCellValue(dailyHead);
//            dailyHeadCell.CellStyle = headStyle;
//            sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, colCount - 1));

//            rowIndex++;


//            //设置日报列名
//            IRow dailyColumnRow = sheet.CreateRow(rowIndex);
//            for (int i = 0; i < colCount; i++)
//            {
//                ICell cell = dailyColumnRow.CreateCell(i);
//                cell.SetCellValue(dailyColHead[i]);
//                sheet.SetColumnWidth(i, 6000);
//                cell.CellStyle = style2;
//            }

//            rowIndex++;

//            //日报内容
//            for (int i = 0; i < dailyData.Count(); i++)
//            {
//                IRow dailyRow = sheet.CreateRow(rowIndex);

//                ICell cell0 = dailyRow.CreateCell(0);
//                cell0.SetCellValue(dailyData[i].Users);
//                cell0.CellStyle = style;

//                ICell cell1 = dailyRow.CreateCell(1);
//                cell1.SetCellValue(dailyData[i].Department);
//                cell1.CellStyle = style;

//                ICell cell2 = dailyRow.CreateCell(2);
//                cell2.SetCellValue(dailyData[i].Summary);
//                cell2.CellStyle = style;

//                ICell cell3 = dailyRow.CreateCell(3);
//                cell3.SetCellValue(dailyData[i].CompletionRate);
//                cell3.CellStyle = style;

//                ICell cell4 = dailyRow.CreateCell(4);
//                cell4.SetCellValue(dailyData[i].WorkingHours);
//                cell4.CellStyle = style;

//                ICell cell5 = dailyRow.CreateCell(5);
//                cell5.SetCellValue(dailyData[i].RepairCount);
//                cell5.CellStyle = style;

//                ICell cell6 = dailyRow.CreateCell(6);
//                cell6.SetCellValue(dailyData[i].Incompleteness);
//                cell6.CellStyle = style;

//                ICell cell7 = dailyRow.CreateCell(7);
//                cell7.SetCellValue(dailyData[i].DTime.ToString("yyyy-MM-dd HH:mm"));
//                cell7.CellStyle = style;

//                rowIndex++;
//            }

//            //设置计划表头
//            IRow planHeadRow = sheet.CreateRow(rowIndex);
//            planHeadRow.HeightInPoints = 50;

//            ICell planHeadCell = planHeadRow.CreateCell(0);
//            planHeadCell.SetCellValue(planHead);
//            planHeadCell.CellStyle = headStyle;
//            sheet.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 0, colCount - 1));

//            rowIndex++;


//            //设置计划列名
//            IRow planColumnRow = sheet.CreateRow(rowIndex);
//            for (int i = 0; i < colCount; i++)
//            {
//                ICell cell = planColumnRow.CreateCell(i);
//                cell.SetCellValue(planColHead[i]);
//                //sheet.SetColumnWidth(i, 6000);
//                cell.CellStyle = style2;
//            }

//            rowIndex++;


//            //计划内容
//            for (int i = 0; i < planData.Count(); i++)
//            {
//                IRow planRow = sheet.CreateRow(rowIndex);

//                ICell cell0 = planRow.CreateCell(0);
//                cell0.SetCellValue(planData[i].Users);
//                cell0.CellStyle = style;

//                ICell cell1 = planRow.CreateCell(1);
//                cell1.SetCellValue(planData[i].Department);
//                cell1.CellStyle = style;

//                ICell cell2 = planRow.CreateCell(2);
//                cell2.SetCellValue(planData[i].Summary);
//                cell2.CellStyle = style;

//                ICell cell3 = planRow.CreateCell(3);
//                cell3.SetCellValue(planData[i].CompletionRate);
//                cell3.CellStyle = style;

//                ICell cell4 = planRow.CreateCell(4);
//                cell4.SetCellValue(planData[i].WorkingHours);
//                cell4.CellStyle = style;

//                ICell cell5 = planRow.CreateCell(5);
//                cell5.SetCellValue(planData[i].RepairCount);
//                cell5.CellStyle = style;

//                ICell cell6 = planRow.CreateCell(6);
//                cell6.SetCellValue(planData[i].Incompleteness);
//                cell6.CellStyle = style;

//                ICell cell7 = planRow.CreateCell(7);
//                cell7.SetCellValue(planData[i].DTime.ToString("yyyy-MM-dd HH:mm"));
//                cell7.CellStyle = style;

//                rowIndex++;
//            }

//            //自动列宽
//            //for (int i = 0; i <= dt.Columns.Count; i++)
//            //    sheet.AutoSizeColumn(i, true);


//            return wk;
//        }



//    }
//}
